使用xlljob分布式任务调度管理系统集成到spring boot(单体)项目

您所在的位置:网站首页 quartz 官方文档 使用xlljob分布式任务调度管理系统集成到spring boot(单体)项目

使用xlljob分布式任务调度管理系统集成到spring boot(单体)项目

2023-03-25 08:34| 来源: 网络整理| 查看: 265

一、安装和启动xlljob项目 1、下载xxl-job的源代码

xxl-job-master.zip

下载完后修改文件

注意:启动 XxlJobAdminApplication 的时候默认的端口是8080所以要保证没有其他的项目占用这个端口

启动后访问

http://localhost:8080/xxl-job-admin 用户名/密码: admin / 123456

二、创建spring boot项目(省略) 1、引入依赖 com.xuxueli xxl-job-core 2.3.0 2、修改配置文件(application.yml) server: port: 8878 spring: application: name: springBoot3Application datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/test?&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai username: root password: root xxl: job: admin: address: http://192.168.100.119:8080/xxl-job-admin accessToken: default_token executor: appname: ${spring.application.name} address: ip: port: -1 logpath: /data/applogs/xxl-job/jobhandler logRetentionDays: 30

参数不明白?官方文档!!

连接地址:中文官方文档

3、创建初始化 package com.example.springbootdemo3.config; import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * @ClassName: XxlJobConfig * @Description: * @Author: TXW * @Date: 2023/3/10 */ @Configuration public class XxlJobConfig { private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class); @Value("${xxl.job.admin.address}") private String adminAddresses; @Value("${xxl.job.accessToken}") private String accessToken; @Value("${xxl.job.executor.appname}") private String appname; @Value("${xxl.job.executor.address}") private String address; @Value("${xxl.job.executor.ip}") private String ip; @Value("${xxl.job.executor.port}") private int port; @Value("${xxl.job.executor.logpath}") private String logPath; @Value("${xxl.job.executor.logRetentionDays}") private int logRetentionDays; @Bean public XxlJobSpringExecutor xxlJobExecutor() { logger.info(">>>>>>>>>>> xxl-job config init."); XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor(); xxlJobSpringExecutor.setAdminAddresses(adminAddresses); xxlJobSpringExecutor.setAppname(appname); xxlJobSpringExecutor.setAddress(address); xxlJobSpringExecutor.setIp(ip); xxlJobSpringExecutor.setPort(port); xxlJobSpringExecutor.setAccessToken(accessToken); xxlJobSpringExecutor.setLogPath(logPath); xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays); return xxlJobSpringExecutor; } } 4、创建实例、启动项目 package com.example.springbootdemo3.xxlJob; import com.example.springbootdemo3.entity.User; import com.example.springbootdemo3.service.UserService; import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.context.XxlJobHelper; import com.xxl.job.core.handler.annotation.XxlJob; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.List; /** * @ClassName: XxlJobTask * @Description: * @Author: TXW * @Date: 2023/3/10 */ @Component public class XxlJobTask { private static Logger logger = LoggerFactory.getLogger(XxlJobTask.class); @XxlJob("sampleTest") public ReturnT sampleTest(){ return ReturnT.SUCCESS; } } 三、创建任务管理任务

主要分为一下两步:

1、创建执行器

2、创建任务

我踩过的坑:

坑:我在这里执行一次的时候会成功,但是在启动的时候日志显示是报错的!

解:在执行器管理中的那个“online”的ip和你在“执行一次”的时候手动输入的ip不一样,哪个能成功就用哪个,然后再去yml文件中仔细揣摩。

详细内容请参考

中文参考文档

执行结果成功的截图



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3